23

» WarCraft 3 / Патч игры

Похожие вопросы:

ответ
~8gabriel8:
niBeHb, а если в оконном режиме игру запустить, то тоже чёрный экран?
Чтобы запустить в окне, нужно в ярлыке добавить -window.
ответ
Возможно в мемхаке есть такая возможность. А так - только 1.31.
ответ
ThatGuyFromBar, проверь.
После удаления этой кнопки лично у меня вылетов больше не было. Может багованная модель или попкорновский эффект, а может триггер, который на ней висит, хз.
Попробуй выделить весь декор и поднять с помощью CTRL+PageUp, авось с отриательной z работать не хотит.
На кнопке поднятие попробовал, всё равно вылетает

Updt. Снёс всё попкорн эмиттеры с модели кнопки, и переимпортировал в карту. Вроде работает
ответ
Через локальную сеть

23

» WarCraft 3 / HD&SD Reforged

Похожие вопросы:

ответ
Прикрепляю блп. Видимых проблем нет.

Nelloy, создавай через CreateUbersplat(x, 0, 'Adrt', 255, 255, 255, 255, true, true)
ответ
в рефе в менеджере импорта появилась новое поле HD /SD импортируем обе модели, называем одинакого, а в списке переключаем версию графики, всё, этого достаточно.
Если вы каким то чудом не работаете в редакторе то в режиме папки у вас будет _HD.w3mod туда кидаете все HD модели, а sd модели в корень, разумеется имена должны полностью повторяться, если подели лежат в подпапке, то должно быть _HD.w3mod\models\model.mdx для HD версии и в корне игры должно быть так, models\model.mdx для SD модели

23

» WarCraft 3 / Вопрос по моделькам

Похожие вопросы:

ответ
Модель я переименовал в rifleman и засунул в его папку в war3.mpq
Может быть прописать путь текстуры для модели так же как у rifleman?
ответ
Всё. Понял в чём проблема
ответ
  1. Хорошая модель должна иметь минимальное необходимое количество полигонов. Что будет если заспавнить много юнитов можешь проверить и сам.
  1. 8 Мб - лимит для патчей до версии 1.26. В последнем патче карта может весить 100+ Мб. О скорости скачивания ничего не могу сказать.
ответ
Насколько я понял, тебе нужно просто сменить текстуру. Для этого тебе по меньшей мере нужна текстура. Можно взять либо стандартную, либо создать самому (что довольно просто, если знать как).
Чтобы создать текстуру, возьми любое изображение, открой его в ФШ и сохрани как tga 32 бит с размером до 512х512 (вроде бы можно делать любой размер, не превышающий 1024х768, но я советую сохранять пропорции и делать размер не больше 512х512, или кратных половине этого числа (256/128/64/32) , за тем открой в War3 Image Extractor и переведи формат tga в blp. Потом открываешь модельку - редактор текстур и переименовываешь нужную текстуру в ту которая тебе нужна (они должны быть в одной папке) жмешь - Enter - .
ответ
LainMikoroso, Сценарий - > Параметры Карты -> Нестандартное освещение (Ставим галочку) -> Выбираем подходящее
совет: учите инструментарий, без этого никуда

23

» WarCraft 3 / Проверка по баффу

Похожие вопросы:

ответ
Объясню, почему я удалил код: после проведённого за кодом времени, я понял, что сильно погорячился, задав такой глупый вопрос. Стоило отдохнуть, проветрить голову, и решение нашлось. Тем, кто столкнулся с хоть самую малость, но похожей проблемой, дам совет: всегда проверяйте соответствия заклинаний, написанных в коде jass (CTRL + D, если кто не знает, как узнать id заклинания) и ,конечно, сам синтаксис. Также посоветую не утраивать "свалку" в коде, как это сделал я. В общем, если кому интересно, как я решил проблему, пишите - расскажу или даже помогу если у вас она схожая.(Всё дело во внимательности)...
Сброшу код триггера таким, каким я его хотел видеть изначально:
function MU_Check_lvl_four takes nothing returns boolean
    if ( not ( GetUnitAbilityLevelSwapped('A011', udg_Akame_Killer) == 4 ) ) then
        return false
    endif
    return true
endfunction

function MU_Check_lvl_three takes nothing returns boolean
    if ( not ( GetUnitAbilityLevelSwapped('A011', udg_Akame_Killer) == 3 ) ) then
        return false
    endif
    return true
endfunction

function MU_Check_lvl_two takes nothing returns boolean
    if ( not ( GetUnitAbilityLevelSwapped('A011', udg_Akame_Killer) == 2 ) ) then
        return false
    endif
    return true
endfunction

function MU_Check_lvl_one takes nothing returns boolean
    if ( not ( GetUnitAbilityLevelSwapped('A011', udg_Akame_Killer) == 1 ) ) then
        return false
    endif
    return true
endfunction

function MU_Second_Conditions takes nothing returns boolean
    if ( not ( UnitHasBuffBJ(GetEventDamageSource(), 'B008') == true ) ) then
        return false
    endif
    if ( not ( GetEventDamageSource() == udg_Akame_Killer ) ) then
        return false
    endif
    return true
endfunction

function MU_Start_Conditions takes nothing returns boolean
    if ( not ( UnitHasBuffBJ(GetAttacker(), 'B008') == true ) ) then
        return false
    endif
    if ( not ( GetAttacker() == udg_Akame_Killer ) ) then
        return false
    endif
    return true
endfunction

function Trig_MU_Conditions takes nothing returns boolean
    if ( not MU_Start_Conditions() ) then
        return false
    endif
    return true
endfunction

function MU_Venum_Check takes nothing returns boolean
    if ( not ( udg_MU_Venum_counter == 2 ) ) then
        return false
    endif
    return true
endfunction

function MU_del takes nothing returns nothing 
    if ( MU_Check_lvl_one() ) then
        call SetPlayerAbilityAvailableBJ( true, 'A00X', GetOwningPlayer(GetEventDamageSource()) )
        call UnitRemoveAbilityBJ( 'A00X', GetEventDamageSource() )
    else
        if ( MU_Check_lvl_two() ) then
            call SetPlayerAbilityAvailableBJ( true, 'A00U', GetOwningPlayer(GetEventDamageSource()) )
            call UnitRemoveAbilityBJ( 'A00U', GetEventDamageSource() )
        else
            if ( MU_Check_lvl_three() ) then
                call SetPlayerAbilityAvailableBJ( true, 'A00Y', GetOwningPlayer(GetEventDamageSource()) )
                call UnitRemoveAbilityBJ( 'A00Y', GetEventDamageSource() )
            else
                if ( MU_Check_lvl_four() ) then
                    call SetPlayerAbilityAvailableBJ( true, 'A013', GetOwningPlayer(GetEventDamageSource()) )
                    call UnitRemoveAbilityBJ( 'A013', GetEventDamageSource() )
                else
                    call DoNothing(  )
                endif
            endif
        endif
    endif
endfunction


function Trig_MU_Actions takes nothing returns nothing
    call DestroyTrigger(udg_MU_trig)
    set udg_MU_Venum_counter = GetRandomInt(1, 5)
    set udg_MU_TG = GetAttackedUnitBJ()
    if ( MU_Venum_Check() ) then
        if ( MU_Check_lvl_one() ) then
        call UnitAddAbilityBJ( 'A00X', udg_Akame_Killer )
        call SetPlayerAbilityAvailableBJ( false, 'A00X', GetOwningPlayer(udg_Akame_Killer) )
    else
        if ( MU_Check_lvl_two() ) then
            call UnitAddAbilityBJ( 'A00U', udg_Akame_Killer )
            call SetPlayerAbilityAvailableBJ( false, 'A00U', GetOwningPlayer(udg_Akame_Killer) )
        else
            if ( MU_Check_lvl_three() ) then
                call UnitAddAbilityBJ( 'A00Y', udg_Akame_Killer )
                call SetPlayerAbilityAvailableBJ( false, 'A00Y', GetOwningPlayer(udg_Akame_Killer) )
            else
                if ( MU_Check_lvl_four() ) then
                    call UnitAddAbilityBJ( 'A013', udg_Akame_Killer )
                    call SetPlayerAbilityAvailableBJ( false, 'A013', GetOwningPlayer(udg_Akame_Killer) )
                else
                    call DoNothing(  )
                endif
            endif
        endif
    endif
    set udg_MU_trig = CreateTrigger()
    call TriggerRegisterUnitEvent( udg_MU_trig, udg_MU_TG, EVENT_UNIT_DAMAGED )
    call TriggerAddCondition( udg_MU_trig, Condition( function MU_Second_Conditions ) )
    call TriggerAddAction( udg_MU_trig, function MU_del )
    else
        call DoNothing(  )
    endif
endfunction

//===========================================================================
function InitTrig_MU takes nothing returns nothing
    set gg_trg_MU = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_MU, EVENT_PLAYER_UNIT_ATTACKED )
    call TriggerAddCondition( gg_trg_MU, Condition( function Trig_MU_Conditions ) )
    call TriggerAddAction( gg_trg_MU, function Trig_MU_Actions )
endfunction
Суть триггера:
Имеется способность с четырьмя уровнями. На каждом уровне урон способности разный, а шанс срабатывания всегда 25%. При атаке герой, имеющий такую способность имеет шанс (25%) на отравление противника.
Переменная udg_Akame_killer равносильна GetEventDamageSource()
P.S. Возможно кому-то даже пригодится этот код... Сделан полнейшим неумехой в плане jass, так что не судите строго!
ответ
XGM Bot:
Похожие вопросы:

ответ
Farrien, summoned unit.
Хоть жезл, хоть абилка блейдмастера.


23

» WarCraft 3 / Не работает триггер

Похожие вопросы:

ответ
Событие "применяет способность" произойдет только если вручную нажать на способность ледяной стрелы и на врага. При авто атаках событие работать не будет.

В будущем для проверки таких моментов пользуйтесь дебагом. В данном случае нужно отключить условие и выводить имя юнита тригера, тогда бы вы увидели что когда примнешь способность имя юнита выводится в чат, а когда он автоатачит, то имя не выводится, что означало бы что триггер не срабатывает, не срабатывает событие
ответ
В данном примере под владельцем юнита система понимает изначально кому принадлежал юнит. Триггер не работает после того как здание поменяло владельца. Рабочим способом будет сделать условие проверки принадлежности юнита как показано на скриншоте:
ответ
Не "триггерный юнит" а "соответствующий юнит" (Matching Unit).
У тебя нет триггерного юнита, ты выбираешь группу с дополнительным условием соответствия, а значит надо использовать соответствующую переменную.

23

» WarCraft 3 / Вопрос по ИИ

Похожие вопросы:

ответ
Я понял, что процесс сделан как и "MPQEditor", но всё равно не доганяю. Объясните или киньте ссылку с объяснением, так как я не нашёл инфы на это.
тебе объяснили
прога редактирует файл
Я например не знаю как это делать.
статьи по с++/java/любойдругойяп ждут тебя
У меня такое впечатление складывается что ты со мной как с нубом разговариваешь.
тебе показалось (за исключением этого коммента)
Ок. Но лучше ответ бы, чем отправлять меня в тёмный лес. =(
это и есть ответ
если тебе надо
Напиши мне раз умный. Я например не знаю как это делать. И потом дай мне и инструкцию напиши к ней. =\
то ты ошибся адресом
это Q/A а не сделай всё за меня
тебе объяснили что надо редактировать и чем
что ещё тебе надо объяснить?
как печатать на клаве или как сохранять отредактированный файл?
BaHeK:
war3map.imp - бинарный файл и редактируют его не блокнотом, НЕХ-редактором. Ну и к тому-же там особая структура файла.
блокнот прекрасно справляется
короче ответ на вопрос дан (только злые люди прогу для автора не написали)
поэтому клоз
и контрольный в голову
статья про сабж
ответ
Все там работает, откуда эта ахинея? Каждый может хостить, ваще неважно какой варик и где, на офф. серверах нужны тока ключи, при этом насрать какие, с кейгена можно вполне проскользнуть. Нужен открытый порт 6112, что ни имеет уже отношения к происхождению варкравта.
Открываем порт и улыбаемся.
ответ
Да, можно сделать модель в блендере. Насчет анимаций не знаю, но на hiveworkshop кажется есть модель рыцаря целиком сделанная в blender. Геометрию и развертку перенести точно можно.
Делаешь модель. В блендере задаешь развертку. Экспортируешь модель в mdl формат. На сайте есть всё необходимое для этого. Если делаешь модель в новой версии blender, придётся сперва открыть готовую модель в более старой версии blender, поддерживающей экспорт. Mdl конвертируешь в mdx. (Конвертер есть на сайте) А потом в mdlvis и war3 model editor допиливаешь до играбельного вида.
Текстуру по развертке рисуешь в фотошопе. Сохраняешь в png. Конвертируешь в blp. (Программа есть на сайте) В mdlvis проверяешь.
ответ
Миссия 5 в кампании Падение Лордерона (RoC). Переносятся вещи Джайны.
ответ
  1. Игра будет автоматически пропатчена, от игрока действий не требуется по обновлению варкрафта.
  2. Пока играются только те карты, которые разложены в ладдере.
  3. Если прям любишь игру - смысл есть, но работать ты все равно будешь на азиатскую аудиторию, а не на снг.

23

» WarCraft 3 / Как определить минимальное расстояние

Похожие вопросы:

ответ
перебирать все точки, и запоминать ту которая меньше другой
например находил ближайшую я так
private void FG(){
        if DBU(GetEnumUnit(), Alien) < Distance {
            ChosenOne = GetEnumUnit()
            Distance = DBU(ChosenOne, Alien)
        }
    }
    
    private void InjuredInvoke(unit u){
        group g = CG
        unit egg
            GroupEnumUnitsInRect(g, bj_mapInitialPlayableArea, Filter(function EggFind))
                if CountGroup(g) > 1 {
                    Distance = 9999999.
                    Alien = u
                    ForGroup(g, function FG)
                    egg = ChosenOne
                    IssuePointOrderById(u, order_move, Gx(egg), Gy(egg))
                }
        GC(g)
        DG(g)
        g = null
        egg = null
    }

23

» Melee Campaign Heroes / Melee Campaign Heroes Pack - 167 maps

Ваш ресурс не прошёл автомодерацию. Пожалуйста, внесите исправления или ожидайте проверки модератором.
Причина
Подозрение в нарушении правил сайта. Требуется валидация человеком.
Your resource has not passed automoderation. Please make corrections or wait for the moderator to check.
Reason
Suspicion of violating site rules. Human validation required.
// CID0
23

» Melee Campaign Heroes / Melee Campaign Heroes Pack - 167 maps

Ваш ресурс не прошёл автомодерацию. Пожалуйста, внесите исправления или ожидайте проверки модератором.
Причина
Подозрение в нарушении правил сайта. Требуется валидация человеком.
Your resource has not passed automoderation. Please make corrections or wait for the moderator to check.
Reason
Suspicion of violating site rules. Human validation required.
// CID0
23

» WarCraft 3 / Ошибка в Mdlvis

Похожие вопросы:

ответ
Тут по-моему всё очевидно. Чадо пытается открыть в мдлвисе модель в формате m2, чего мдлвис не делает ещё с выхода burning crusade.
ответ
напиши создателю mdlvis
если найдёшь его а также у него будут исходники и желание фиксить баги то мб пофиксит
но скорее всего как минимум 2 и 3 пунктов будут отсутствовать
ответ
XGM Bot:
Похожие вопросы:

ответ
советую переименовать модель\заребутить комп
текстуры стандартные юзал, я так понимаю

ответ
Нужен 139 мдлвис
ответ
Для мдлвиса нужен формат mdx 800 или ниже, попробуй или прогнать ещё через ретеру, или из своей программы выбрать формат подходящий для мдлвиса

23

» WarCraft 3 / Моделирование

Похожие вопросы:

ответ
Делается ось через ось.
когда одна вращается по Х другая может по У и так далее
ответ
ответ
Всё. Понял в чём проблема

23

» WarCraft 3 / Спавн юнитов у здания.

Похожие вопросы:

ответ
Отлавливаеш момент завершения улучшения и триггерно выдаеш такое-же улучшение тому чьи юниты.
ответ
Drulia_san, посмотрел код, если this есть 0 в обычном методе, то это значит, что там где ты вызываешь Restore для StructuresSnapshot ты передаешь 0.
call obj.Restore()  // obj равен 0, а его тип есть StructuresSnapshot.
ответ
Погляди оригинал способность "Призыв к оружию" и "Работника" с "Ополченцем".
Как я помню у обоих указан одинаковый список зданий, проблема в редакторе объектов.
ответ
Алексей Андреич:

Примерно так

23

» WarCraft 3 / Графика не переключается на Reforged

Похожие вопросы:

ответ
Поскольку никто не ответил, то пришлось решить вопрос самому. Описанный ниже способ пригодится и для изменения других параметров в файле w3i. Для решения я использовал программу W3x2Lni
  1. Запускаем W3x2Lni и помещаем карту сохраненную в классическом редакторе в DnD область программы.
  2. Конвертируем карту в форма Lni, выбрав первый вариант (синяя кнопка). Внутри прожать все флаги.
  3. В директории W3x2Lni появится папка с наименованием вашей карты. Внутри нужно найти папку table, а внутри неё файл w3i (расшифрованный). Скопируйте файл.
  4. Проделываем пункты 1-3 но уже с картой сохраненной в reforged редакторе. Получаем w3i расшифрованный из ref версии карты.
  1. Открываем текстовым редактором w3i из классик редактора и w3i из реф редактора.
  2. Переносим все новые строки из w3i ref в w3i классик.
  3. В готовом w3i классик меняем значения:
  • format_version = 31 (было 25)
  • supported_modes = 1
Строка supported_modes это искомая настройка графического режима (SD/HD = 0, SD = 1, HD = 2). Если format_version не перевести с 25 на 31, то строка supported_modes будет проигнорирована (см. структуру w3i).
  1. Помещаем готовый w3i в папку W3x2Lni/наша карта из классик редактора/table
  2. Снова открываем W3x2Lni переносим папку классик карты в DnD область программы.
  3. Конвертируем карту в Obj формат (оранжевая кнопка).
  4. Готовый файл карты появится в директории W3x2Lni

23

» WarCraft 3 / Проблема с кастомным героем

Похожие вопросы:

ответ
"Набор звуков" нельзя сделать через триггеры, но можно попробовать через импорт файлов заменить стандартные файлы в уже существующих наборах.
Для этого импортируемому файлу надо прописать путь заменяемого.
ответ
Вся информация по редактору AI тут
ответ
Ответ простой, это beta.
ответ
Тут 2 варианта, надо в редактор ИИ загрузить нестанадратные данные по объектам
Если используется 100% стандартное ИИ то надо его обучить.. делается это простым гуи триггером
Событие - игрок повышет уровень
Условие (2 условия), Тип героя= ваш герой, владелец юнита =управляется компьютером
Действие - учить скилы:
Учим способность R
Учим способность Q - Q спосбность приоритетной прокачки
Учим способность W
Учим способность E
А тут надо быть внимательным... изучение ульты требуется указать вначале... чтобы герой выучил ульту на 6 уровне...
или тут можно зарандомить или написать своё алгоритм.. или же чтобы ИИ учил скилы по другом условиям...в зависимости от тот как у него идёт игра
ответ
так зачем ты системные-игровые файлы заменяешь? не думаю что тут кто-то больше графики и звуков меняет. Хотя у меня ещё изменённый редактор, главное меню и кастомные кампании есть... это всё не может иметь отношения к десконнектам (и не имеет)

Ладно если по делу, с этой карты тоже десинхнуло, отключил локальные файлы - так же десинхнуло. Во все остальные могу нормально играть.. ну как играть, я сам ливаю на 2 минуте, играть то не во что

23

» WarCraft 3 / Проблема с триггером

Похожие вопросы:

ответ
Проблема решилась, после соединения с администратором карта заработала и сохранилась. И на следующей карте соединения уже нет. Спасибо.
ответ
Mate, ну очивидно ошибка реализации, ибо используются одни и те же массивы, в которых происходит коллизия, одни и те же ячейки используют раные способности. Вовсе я бы не советовал так замарачиватся с гуи, а прочитать статьи на jass и забить на все это дело, юзая хештаблицы.
ответ
если ты создаешь нейтрально-враждебных то нужно им в игровых константах менять значения
пошамань с этими значениями и все норм будет, ну а если у тебя монстры под контролем других игроков а не нейтралов, то тогда не знаю даже

guard distance - это расстояние на котором крипы агряться
guard return distance - это на какое расстояние мобы могут отходить от место их создания, если они отошли на 1000 они возвращаются обратно
guard return time - типо тоже самое что с расстоянием, только время
остальное вроде тебе не надо вообще
ответ
Не вижу второй триггер но увидев первый, думаю что событие накладывается много раз, поэтому много лечения
ответ
при нажатии эскейпа выставляешь переменную булевой на тру, перед тем как проиграть следующую камеру/реплику/покакать, проверяешь значение этой переменной, если соответствует истине, пропускаешь все остальные действия, перед этим можно запустить другой триггер который отвечает за конец синематика (т.е. выдача заданий, выставление камеры в норму, выход из синематика и т.д.)

23

» WarCraft 3 / Не работает перенос моделей в редактор.

Похожие вопросы:

ответ
Maxsavin, я каждой карте из кампаний даю свой кэш, чтобы не перепуталось ничего.
Не знаю, что получилось бы, сделай я один кэш-файл на всю кампу и грузи карты потом не по порядку. Проверять не буду.
Кампания - это пак карт.

23

» WarCraft 3 / Retera Model Studio не запускается

Похожие вопросы:

ответ
ну так у тебя текстуры выключены, зайди в view - и поставь галочку на texture models